The present invention relates to an integrated controller for the detecting and operating one or more expansion cards. More specifically, the present invention relates to an integrated controller for detecting and controlling PC Cards (16-bit PCMCIA cards and 32 bit-CardBus cards), smart cards, and flash media cards. Particular utility of the present invention is to provide an integrated controller for mobile computing devices, e.g., laptop computers, etc, although other utilities are contemplated herein.
The need for security and enhanced privacy is increasing as electronic forms of identification replace face-to-face and paper-based ones. The emergence of the global Internet, and the expansion of the corporate network to include access by customers and suppliers from outside the firewall, have accelerated the demand for solutions based on public-key technology. A few examples of the kinds of services that public key technologies enable are secure channel communications over a public network, digital signatures to ensure image integrity and confidentiality, and authentication of a client to a server (and visa-versa).
Smart cards are a key component of the public-key infrastructure that Microsoft is integrating into the Windows platform because smart cards enhance software-only solutions such as client authentication, logon, and secure e-mail. Smart cards are essentially a convergence point for public key certificates and associated keys because they provide tamper-resistant storage for protecting private keys and other forms of personal information; isolate security-critical computations involving authentication, digital signatures, and key exchange from other parts of the system that do not have a xe2x80x9cneed to knowxe2x80x9d; and enable portability of credentials and other private information between computers at work, home, or on the road.
It is estimated that the smart card will become an integral part of the Windows platform because smart cards will enable new breeds of applications in the same manner that the mouse and CD-ROM did when they were first integrated with the Personal Computer (PC). Incompatibility among applications, cards, and readers has been a major reason for the slow adoption of smart cards outside of Europe. Interoperability among different vendors"" products is a necessary requirement to enable broad consumer acceptance of smart cards, and for corporations to deploy smart cards for use within the enterprise.
ISO 7816, EMV, and GSM
In order to promote interoperability among smart cards and readers, the International Standards Organization (ISO) developed the ISO 7816 standards for integrated circuit cards with contacts. These specifications focused on interoperability at the physical, electrical, and data-link protocol levels. In 1996, Europay, MasterCard, and VISA (EMV) defined an industry-specific smart card specification that adopted the ISO 7816 standards and defined some additional data types and encoding rules for use by the financial services industry. The European telecommunications industry also embraced the ISO 7816 standards for their Global System for Mobile communications (GSM) smart card specification to enable identification and authentication of mobile phone users.
While all of these specifications (ISO 7816, EMV, and GSM) were a step in the right direction, each was either too low-level or application-specific to gain broad industry support. Application interoperability issues such as device-independent APIs, developer tools, and resource sharing were not addressed by any of these specifications.
PC/SC Workgroup
The PC/SC (Personal Computer/Smart Card) Workgroup was formed in May 1996 in partnership with major PC and smart card companies: Groupe Bull, Hewlett-Packard, Microsoft, Schlumberger, and Siemens Nixdorf. The main focus of the workgroup has been to develop specifications that solve the previously mentioned interoperability problems. The PC/SC specifications are based on the ISO 7816 standards and are compatible with both the EMV and GSM industry-specific specifications. By virtue of the companies involved in the PC/SC Workgroup, there is broad industry support for the specifications and a strong desire to move them onto an independent-standards tract in the future.
Since its founding and initial publication of the specifications, additional members have joined the PC/SC Workgroup. New members include Gemplus, IBM, Sun Microsystems, Toshiba, and Verifone.
Microsoft""s Approach
Microsoft""s approach consists of the following:
A standard model for interfacing smart card readers and cards with PCs
Device-independent APIs for enabling smart card-aware applications
Familiar tools for software development
Integration with Windows and Windows NT platforms
Having a standard model for how readers and cards interface with the PC enforces interoperability among cards and readers from different manufacturers. Device-independent APIs serves to insulate application developers from differences between current and future implementations. Device-independence also preserves software development costs by avoiding application obsolescence due to underlying hardware changes.
The most popular method currently being used to interface a smart card with a notebook computer is to use a PCMCIA Type II smart card reader/writer (FIG. 1). PCMCIA smart card readers are currently available from companies such as Gemplus, SCM Microsystems and Tritheim Technologies, to name a few. The end user cost for these smart card readers is typically around $150. The cost of the reader is a major portion to the cost of the overall security solution. The adapter card 104 in FIG. 1 depicts the major functional blocks of a conventional smart card reader. The PCIC Host Interface block of the smart card reader provides the electrical interface to the PC Card connector 106, which in turn connects to the PC Card controller 102. Additional logic is provided to control the interaction between the smart card and the software application. However, as noted above, this solution carries a significant per unit cost, and thus, is an unattractive alternative to large-scale migration to smart card compatibility.
Thus, there exists a need to provide an integrated host controller that provides PC Card, smart card, and Passive smart card adapter operability. Moreover, there exists a need to provide an integrated controller that can replace existing motherboard-mounted PC Card host controllers, without having to retool or redesign the motherboard.
A controller consistent with the present invention includes a plurality of readers for reading an associated plurality of expansion cards and for controlling operation of the associated plurality of expansion cards, wherein at least one of the plurality of readers is a flash media reader. The controller may also include at least one smart card reader and at least one PC card reader. The controller may also include a plurality of flash media readers and be further configured to be responsive to an input signal indicative of one selected flash media reader from among the plurality of flash media readers to enable one selected flash media reader. A personal computer (PC) configured to accept digital information from at least one expansion card may also include a controller consistent with the present invention.
A method consistent with the present invention for controlling the operation of at least one expansion card with an integrated controller having a plurality of readers includes: detecting the presence of at least one expansion card; and enabling a selected reader of the integrated controller associated with said at least one expansion card. The detecting step may further include detecting the presence of an expansion card using conventional PC Card specification signal lines including: determining the signal state of a first and second card detection signal line; determining the signal state of a first and second voltage select signal line; determining if the first and/or second card detection signal line, or said first and/or second voltage select signal line, comprise a signal state that is reserved by a PC Card signal specification; and determining the signal state of a predetermined unused PC Card signal line, relative to said reserved signal state.
Another method of writing data to read only memory in an integrated controller consistent with the present invention includes: unlocking the read only memory; writing information into the read only memory; and locking the read only memory to prevent otherwise unintentional or unauthorized writing to the read only memory.
It will be appreciated by those skilled in the art that although the following Detailed Description will proceed with reference being made to preferred embodiments and methods of use, the present invention is not intended to be limited to these preferred embodiments and methods of use. Rather, the present invention is of broad scope and is intended to be limited as only set forth in the accompanying claims.